package com.example.helloImageDetection;

import gestoreImmagini.MyDbConnector;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class HelloImageDetectionActivity extends Activity {
	
	Button mAggiungiLogo;
	Button mRiconosciLogo; 
	Button mMostraLoghi; 
	Button mCancellaLoghi; 
	
	MyDbConnector dbConn;
	ProgressDialog dialog;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
//        CaricaLoghiAsyncTask at = new CaricaLoghiAsyncTask();
//        at.execute(this);
        
        setContentView(R.layout.main);
        
        mAggiungiLogo = (Button)findViewById(R.id.aggiungi_logo_button);
        mAggiungiLogo.setOnClickListener(new OnClickListener() {
        	public void onClick(View v) {
        		apriAggiungiLogo();
        	}
        });
        
        mRiconosciLogo = (Button)findViewById(R.id.riconosci_logo_button);
        mRiconosciLogo.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				apriRiconosciLogo();
			}
		});
        
        mMostraLoghi = (Button)findViewById(R.id.mostra_loghi_button);
        mMostraLoghi.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				apriMostraLoghi();
			}
		});
        
        mCancellaLoghi = (Button)findViewById(R.id.cancella_loghi_button);
        mCancellaLoghi.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				apriCancellaLoghi();
			}
		});
        
        
    }
    
    
    private void apriAggiungiLogo(){
    	Intent intent = new Intent(this, AggiungiLogoActivity.class);
		startActivity(intent);
    }
    
    private void apriRiconosciLogo(){
    	Intent intent = new Intent(this, RiconosciLogoActivity.class);
		startActivity(intent);
    }
    
    private void apriMostraLoghi(){
    	Intent intent = new Intent(this, MostraLoghiActivity.class);
		startActivity(intent);
    }
    
    private void apriCancellaLoghi(){
    	dbConn.cancellaTuttiLoghi();
    	Toast.makeText(this, "Tutti i loghi sono stati cancellati", Toast.LENGTH_SHORT).show();
    }
  
    private void showDialog(){
    	dialog = ProgressDialog.show(this, "", "Caricamento loghi in corso...", true);
    }
    
    private class CaricaLoghiAsyncTask extends AsyncTask<Context, Void, MyDbConnector>{

		@Override
		protected MyDbConnector doInBackground(Context... params) {
			return MyDbConnector.getDbConnector(params[0]);
		}
	
		@Override
		protected void onPostExecute(MyDbConnector result) {
			super.onPostExecute(result);
			dbConn = result;
			dialog.dismiss();
		}
	
		@Override
		protected void onPreExecute() {
			super.onPreExecute();
			showDialog();
		}
    	
    }
}